package com.member.shop.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.member.common.annotation.Excel;
import com.member.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

import java.util.Date;

/**
 * 商品评价对象 sys_biz_goods_evaluate
 *
 * @author wangxin
 * @date 2024-01-19
 */
@Data
@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
@TableName("sys_biz_goods_evaluate")
public class SysBizGoodsEvaluate extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 评价来源 0用户 1后台
     */
    @Excel(name = "评价来源 0用户 1后台")
    private Integer source;

    /**
     * 用户id
     */
    @Excel(name = "用户id")
    private Long userId;

    /**
     * 评价头像
     */
    @Excel(name = "评价头像")
    private String avatar;

    /**
     * 评价手机号
     */
    @Excel(name = "评价手机号")
    private String phone;

    /**
     * 评价名称
     */
    @Excel(name = "评价名称")
    private String nickName;

    /**
     * 是否匿名 0不匿名 1匿名
     */
    @Excel(name = "是否匿名 0不匿名 1匿名")
    private Integer isAnonymous;

    /**
     * 商品id
     */
    @Excel(name = "商品id")
    private Long goodsId;

    /**
     * 订单id
     */
    @Excel(name = "订单id")
    private Long orderId;

    /**
     * 规格key
     */
    @Excel(name = "规格key")
    private String specsKey;

    /**
     * 星数
     */
    @Excel(name = "星数")
    private Integer score;

    /**
     * 评价内容
     */
    @Excel(name = "评价内容")
    private String contentText;

    /**
     * 评价图片
     */
    @Excel(name = "评价图片")
    private String contentImage;

    /**
     * 商家回复
     */
    @Excel(name = "商家回复")
    private String merchantResponse;

    /**
     * 回复时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "回复时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date responseTime;

    /**
     * 用户追评内容
     */
    @Excel(name = "用户追评内容")
    private String contentAdd;

    /**
     * 用户追评图片
     */
    @Excel(name = "用户追评图片")
    private String imageAdd;

    /**
     * 用户追评时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "用户追评时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date userAddTime;

    /**
     * 商家回复用户追评内容
     */
    @Excel(name = "商家回复用户追评内容")
    private String responseAdd;

    /**
     * 商家回复用户追评内容时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "商家回复用户追评内容时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date responseAddTime;

    /**
     * 是否显示(0:显示，1:隐藏)
     */
    @Excel(name = "是否显示(0:显示，1:隐藏)")
    private Integer displayed;

    /**
     * 是否删除(0：未删除，1：删除)
     */
    @Excel(name = "是否删除(0：未删除，1：删除)")
    private Integer deleted;


    /** 回复状态(0:未回复,1:已回复,2.追评未回复3:已追评回复) */
    @Excel(name = "回复状态(0:未回复,1:已回复,2.追评未回复3:已追评回复)")
    private Integer status;

    /**
     * 商品编号
     */
    @Excel(name = "商品编号")
    @TableField(exist = false)
    private String goodsCode;


    /**
     * 订单编号
     */
    @Excel(name = "订单编号")
    @TableField(exist = false)
    private String orderCode;



}
